package com.swensen.game.data;

import java.awt.event.KeyEvent;
import java.awt.image.BufferedImage;

import com.swensen.game.editor.data.Bounds;

/**
 * The Interface Sprite.
 */
public interface Sprite {
	
	/**
	 * Gets the image.
	 *
	 * @return the image
	 */
	public BufferedImage getImage();
	
	/**
	 * Key pressed.
	 *
	 * @param e the e
	 */
	public void keyPressed(KeyEvent e);
	
	/**
	 * Key released.
	 *
	 * @param e the e
	 */
	public void keyReleased(KeyEvent e);
	
	/**
	 * Move.
	 *
	 * @param boardBounds the board bounds
	 */
	public void move(Bounds boardBounds);
	
	/**
	 * Translate.
	 *
	 * @param x the x
	 * @param y the y
	 */
	public void translate(int x, int y);
	
	/**
	 * X.
	 *
	 * @return the x coordinates in pixels.
	 */
	public int x();
	
	/**
	 * Y.
	 *
	 * @return the x coordinates in pixels
	 */
	public int y();
	
	/**
	 * X.
	 *
	 * @return the x coordinates in tiles.
	 */
	public int tileX();
	
	/**
	 * Y.
	 *
	 * @return the tileY coordinates in tiles
	 */
	public int tileY();
}
